
package com.linewell.mongodemo.pojo;


import com.sun.xml.internal.ws.api.message.Attachment;
import org.hibernate.validator.constraints.Length;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
import org.springframework.data.mongodb.crossstore.RelatedDocument;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;


@Document(collection = "license")
public class License implements Serializable {

	private static final long serialVersionUID = 1121212L;

	@Id
	private String id;

	/**
	 * 目录唯一标识
	 */
	@NotNull
	@Length(min=1,max=50)
	@Field("catalog_id")
	private String catalogId;

	/**
	 * 有效证照标识（旧）
	 */
	@NotNull
	@Length(min=1,max=50)
	@Field("licenseold_id")
	private String licenseoldId;

	/**
	 * 取回证照标识
	 */
	@NotNull
	@Length(min=1,max=50)
	@Field("licenseReturn_id")
	private String licenseReturn_id;
	/**
	 * 有效签章证照标识（旧）
	 */
	@NotNull
	@Length(min=1,max=50)
	@Field("licenseoldsign_id")
	private String licenseoldSignId;
	/**
	 * 模板唯一标识
	 */
	@NotNull
	@Length(min=1,max=50)
	@Field("template_id")
	private String templateId;

	/**
	 * 证照名称
	 */

	@NotNull
	@Length(min=1,max=100)
	@Field("license_name")
	private String licenseName;

	/**
	 * 目录类别(1-证照;0-批文;2-证明；3-证件；4-材料)
	 */
	@NotNull
	@Field("category")
	private Integer category;


	/**
	 * 颁发单位
	 */
	@NotNull
	@Length(min=0,max=100)
	@Field("issue_unit")
	private String issueUnit;

	/**
	 * 颁发单位名称
	 */
	@NotNull
	@Length(min=0,max=100)
	@Field("issue_unitname")
	private String issueUnitname;

	/**
	 * 颁发单位区域代码（邮政编码)
	 */
	@NotNull
	@Length(min=1,max=25)
	@Field("area_code")
	private String areaCode;

	/**
	 * 证照主体（0-个人;1-法人）
	 */
	@NotNull
	@Length(min=0,max=1)
	@Field("whose")
	private String whose;

	/**
	 * 证照编号
	 */
	@NotNull
	@Length(min=0,max=255)
	@Field("license_number")
	private String licenseNumber;

	/**
	 * 颁发时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@Field("issue_date")
	private Date issueDate;

	/**
	 * 持证者
	 */
	@NotNull
	@Length(min=0,max=50)
	@Field("holder")
	private String holder;

	/**
	 * 持证者编码
	 */
	@NotNull
	@Length(min=0,max=100)
	@Field("holder_code")
	private String holderCode;

	/**
	 * 持证者编码类型（证件类型）
	 * 0--身份证；1-通行证；2-护照；3-其他证照
	 */
	@NotNull
	@Length(min=0,max=50)
	@Field("holder_code_type")
	private String holderCodeType;
	
	/**
	 * 证照持有主体代码类型名称(如：身份证、通行证)
	 */
	@Field("holder_Code_Type_Name")
	private String holderCodeTypeName;
	
	/**
	 * 有效期起始
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@Field("valid_time_begin")
	private Date validTimeBegin;

	/**
	 * 有效期截止
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@Field("valid_time_end")
	private Date validTimeEnd;
	/**
	 * 证照期限
	 */
	@Field("timeLimt")
	private String timeLimt;

	/**
	 * 数据来源（更新）2018-6-14
	 */
	@NotNull
	@Field("submit_unit")
	private String submitUnit;
	
	/**
	 * 版式版本号
	 */
	@NotNull
	@Length(min=0,max=20)
	@Field("version_no")
	private String version;

	/**
	 * 数据来源  1：采集，2：填报，3：导入，4：推送，5-补录（纠错补证）
	 */
	@NotNull
	@Field("data_source")
	private Integer dataSource;

	/**
	 * 证照状态
	 */
	@NotNull
	@Field("state")
	private Integer state;

	/**
	 * 创建时间
	 */
	@Field("createtime")
	private Date createtime;
	
	/**
	 * 创建时间
	 */
	@Field("submittime")
	private Date submittime;

	/**
	 * 修改时间
	 */
	@Field("updatetime")
	private Date updatetime;

	/**
	 * 操作人员
	 */
	@NotNull
	@Length(min=0,max=50)
	@Field("oper_user")
	private String operUser;

	/**
	 * 下个节点操作员ID，多个用","分开
	 */
	@NotNull
	@Length(min = 0, max = 50)
	@Field("oper_user_id")
	private String operUserId;

	/**
	 * 创建者ID
	 */
	@NotNull
	@Length(min = 0, max = 50)
	@Field("create_user_id")
	private String createUserId;

	/**
	 * 行业类别，从部门信息中获取
	 */
	@NotNull
	@Length(min = 0, max = 50)
	@Field("cate_codes")
	private String cateCode;

	/**
	 * OFD文件ID
	 */
	@Length(min = 0, max = 50)
	@Field("ofd_file_id")
	private String ofdFileId;

	/**
	 * PDF文件ID
	 */
	@Length(min = 0, max = 50)
	@Field("pdf_file_id")
	private String pdfFileId;
	/**
	 * 签章后的pdf文件
	 */
	@Length(min = 0, max = 50)
	@Field("pdf_sign_file_id")
	private String pdfSignFileId;
	/**
	 * EDC文件ID
	 */
	@Length(min = 0, max = 50)
	@Field("edc_sign_file_id")
	private String edcSignFileId;

	/**
	 * 签章后的文件
	 */
	@Length(min = 0, max = 50)
	@Field("ofd_sign_file_id")
	private String ofdSignFileId;

	/**
	 * 元数据信息
	 */
	@Field("metadata")
	@RelatedDocument
	private LicenseMetadata metadata;

	/**
	 * 照面信息
	 */
	@Field("surface")
	@RelatedDocument
	private List<Surface> surface;

	/**
	 * 照面详细信息
	 */
	@Field("surface_detail")
	@RelatedDocument
	private List<Detail> surfaceDetail;
	/**
	 * 审核日志
	 */
	@Field("approvalLog")
	@RelatedDocument
	private List<ApprovalLog> approvalLog;
	/**
	 * 新增字段
	 */
	@Field("newAddCol")
	@RelatedDocument
	private List<NewAddCol> newAddCol;
	/**
	 * 存放的图片
	 */
	@Field("fileId")
	private String fileId;
	/**
	 * 存放吊销、注销附件
	 */
	@Field("filerevokeId")
	private String fId;
	/**
	 * 标题
	 */
	@Field("title")
	private String title;
	/**
	 * 主送
	 */
	@Field("mainSend")
	private String mainSend;
	/**
	 * 抄送
	 */
	@Field("seSend")
	private String seSend;
	/**
	 * 主题词
	 */
	@Field("mainTitle")
	private String mainTitle;
	/**
	 * 项目名称
	 */
	@Field("projectName")
	private String projectName;
	/**
	 * 项目编码
	 */
	@Field("projectCode")
	private String projectCode;
	/**
	 * 人法库中是否存在，0，存在，-1，不存在
	 */
	@Field("isExist")
	private String isExist;
	/**
	 * 文件编号
	 */
	@Field("fileNumber")
	private String fileNumber;

	/**
	 * 提取码
	 */
	@Field("extract_code")
	private String extractCode;
	/**
	 * 唯一验证串(通常为通过接口生成的证照产生的unid)
	 */
	@Field("token")
	private String token;

	/***
	 * 公开（0：非公开，1：公开）
	 */
	@Field("isPublic")
	private Integer isPublic;
	
	/**
	 * 证照工作状态（？）
	 */
	@Length(min=1,max=100)
	@Field("workState")
	private String workState;

	/***
	 * 数据生成文件
	 */
	@Field("makeData")
	@RelatedDocument
	private List<String> makeData;

	/***
	 * 数据生成文件Id
	 */
	@Field("makeDataId")
	private String makeDataId;

	/**
	 * word文件信息
	 */
	@Field("wordInfo")
	@RelatedDocument
	private WordInfo wordInfo;

	/***
	 * 文件类型OFD/EDC-标记何种方式打开
	 */
	@Field("fileType")
	private String fileType;

	/***
	 * 签章部门id
	 */
	@Field("signUnitId")
	private String signUnitId;

	/***
	 * 联合签章步骤
	 */
	@Field("jointSignStep")
	private Integer jointSignStep;
	/**
	 * 生成方式 0--模板，1--文件
	 */
	@Field("makeWay")
	private Integer makeWay;

	/***
	 * 配置合成ofd时是否直接自动签章
	 */
	@Field("makeOfdWithAutoSign")
	private Integer makeOfdWithAutoSign;

	/***
	 * 二维码存储id
	 */
	@Field("qrImgFileId")
	private String qrImgFileId;

	/***
	 * 二维码值
	 */
	@Field("qrCode")
	private String qrCode;

	/***
	 * 二维码识别码
	 */
	@Field("qrCodeValue")
	private String qrCodeValue;

	/**
	 * 扩展字段
	 */
	@Field("extend")
	@Length(min=1,max=400)
	private String extend;

	/***
	 * 发布时间
	 */
	@Field("releaseTime")
	private Date releaseTime;

	/***
	 * 未签章图片文件id
	 */
	@Field("imgUnsignFileId")
	private String imgUnsignFileId;

	/***
	 * 签章图片文件id
	 */
	@Field("ofd_watermark_sign_file_id")
	private String ofdWatermarkSignFileId;

	/***
	 * 签章图片签名值
	 */
	@Field("signValue")
	private String signValue;

	/**
	 * 缺失管理证照Id
	 */
	@Field("licenseMissId")
	private String licenseMissId;

	/**
	 * 证照名称代码
	 */
	@Field("license_Name_Code")
	private String license_Name_Code;

	/**
	 * 颁发机构代码
	 */
	@Field("issued_Department_Code")
	private String issued_Department_Code;

	/**
	 * 证照状态变更
	 */
	@Field("changeInfo")
	@RelatedDocument
	private List<ChangeInfo> changeInfo ;

	/**
	 * 用于保存第三方推送过来的id(泉州交通委推送照面信息中带的id)
	 */
	@Field("thirdBusiness_id")
	private String thirdBusiness_id;

	/**
	 * 附页附件,支持此字段上传PDF、WORD、OFD、图片格式，作为证照附页
	 */
	@Field("attachment")
	@RelatedDocument
	private List<Attachment> attachment;

	/**
	 * 接口对接使用（为申请电子证照副本下载的使用目的，为行政服务事项名称或其他具体的内容，如结婚登记）
	 */
	@Field("Certificate_Copy_Creation_Item")
	private String Certificate_Copy_Creation_Item;

	/**
	 * 批文拟稿人
	 */
	@Field("drafter")
	private String drafter;

	/**
	 *批文签发人
	 */
	@Field("issuer")
	private String issuer;

	/**
	 *批文份数
	 */
	@Field("copies_number")
	private String  copiesNumber;

	/**
	 * 推送过来的第三方系统
	 */
	@Field("other_system")
	private String otherSystem;

	/**
	 * 证照类型代码（由证照的法定定义机构的机构代码+种类码）
	 */
	@Field("licence_Type_Code")
	private String licence_Type_Code;
	
	/**
	 * 证照类型id(证照字典的id)
	 */
	@Field("licence_Type_Unid")
	private String licence_Type_Unid;

	/**
	 * 证照类型
	 */
	@Field("catalogType")
	private String catalogType;

	/**
	 * 部门代码
	 */
	@Field("jgCode")
	private String jgCode;

	/**
	 * 套打状态   0：未套打；1：部分套打；2：全部套打
	 */
	@Field("printState")
	private Integer printState;

	/**
	 * 套打过的plateID
	 */
	@Field("printedPlateID")
	private String printedPlateID;

	/**
	 * 可信电子证照等级
	 */
	@Field("license_level")
	@RelatedDocument
	private LicenseLevel licenseLevel;

	/***
	 * 推送入库系统标记，true已进入推送表，false-task任务已抓取
	 */
	@Field("push_system")
	private String pushSystem;

	/**
	 * 证明申请处理id
	 */
	@Field("proveApplyId")
	private String proveApplyId;

	/***
	 * 该证照是否真实填入多个持证人 0-否 1-是
	 */
	@Field("isMoreHolder")
	private Integer isMoreHolder;

	/**
	 * 目录需要支持多人持有时，生成的证照的持有人展示形式
	 * * @return
	 */
	@Field("moreHolderShow")
	private String moreHolderShow;

	/**
	 * 推送证照单位ID
	 * 注：福建 by长怀 2017-11-13
	 */
	@Field("originalIssueUnit")
	private String originalIssueUnit;
	
	/**
	 * 推送地市证照的元数据
	 */
	@Field("pushMatadata")
	private String newAddMetadata;

	/***
	 * 生成错误信息
	 */
	@Field("makeErrorMsg")
	private String makeErrorMsg;
	
	/***
	 * 政务服务办件/受理编号，办理此份证照的办件编号，办件编号允许重复
	 */
	@Field("projId")
	private String projId;
	
	/***
	 * 证明申请编号
	 */
	@Field("proveApplyNumber")
	private String proveApplyNumber;
	/**
	 * 文件hash值
	 */
	@Field("fileHashCode")
	private String fileHashCode;
	
	/**
	 * 字段hash值
	 */
	@Field("fieldHashCode")
	private String fieldHashCode;
	
	/**
	 * 手机号码
	 */
	@NotNull
	@Length(min=1,max=15)
	@Field("phone")
	private String phone;
	
	/**
	 * 判断是否重复录入
	 */
	@Field("isRepeat")
	private String isRepeat;
	
	/***
	 * 签章图片文件id
	 */
	@Field("imgSignFileId")
	private String imgSignFileId;
	
	/**
	 * 照片扩展字段
	 */
	@Field("photoExtend")
	@RelatedDocument
	private PhotoExtend photoExtend;
	
	public String getOriginalIssueUnit() {
		return originalIssueUnit;
	}

	public void setOriginalIssueUnit(String originalIssueUnit) {
		this.originalIssueUnit = originalIssueUnit;
	}

	public String getPrintedPlateID() {
		return printedPlateID;
	}

	public void setPrintedPlateID(String printedPlateID) {
		this.printedPlateID = printedPlateID;
	}

	public Integer getPrintState() {
		return printState;
	}

	public void setPrintState(Integer printState) {
		this.printState = printState;
	}

	public String getLicence_Type_Code() {
		return licence_Type_Code;
	}

	public void setLicence_Type_Code(String licence_Type_Code) {
		this.licence_Type_Code = licence_Type_Code;
	}

	public String getCatalogType() {
		return catalogType;
	}

	public void setCatalogType(String catalogType) {
		this.catalogType = catalogType;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getCatalogId() {
		return catalogId;
	}

	public void setCatalogId(String catalogId) {
		this.catalogId = catalogId;
	}

	public String getTemplateId() {
		return templateId;
	}

	public void setTemplateId(String templateId) {
		this.templateId = templateId;
	}

	public String getLicenseName() {
		return licenseName;
	}

	public void setLicenseName(String licenseName) {
		this.licenseName = licenseName;
	}


	public Integer getCategory() {
		return category;
	}

	public void setCategory(Integer category) {
		this.category = category;
	}

	public String getIssueUnit() {
		return issueUnit;
	}

	public void setIssueUnit(String issueUnit) {
		this.issueUnit = issueUnit;
	}

	public String getIssueUnitname() {
		return issueUnitname;
	}

	public void setIssueUnitname(String issueUnitname) {
		this.issueUnitname = issueUnitname;
	}

	public String getAreaCode() {
		return areaCode;
	}

	public void setAreaCode(String areaCode) {
		this.areaCode = areaCode;
	}

	public String getWhose() {
		return whose;
	}

	public void setWhose(String whose) {
		this.whose = whose;
	}

	public String getLicenseNumber() {
		return licenseNumber;
	}

	public void setLicenseNumber(String licenseNumber) {
		this.licenseNumber = licenseNumber;
	}

	public String getHolder() {
		return holder;
	}

	public void setHolder(String holder) {
		this.holder = holder;
	}

	public String getHolderCode() {
		return holderCode;
	}

	public void setHolderCode(String holderCode) {
		this.holderCode = holderCode;
	}

	public String getHolderCodeType() {
		return holderCodeType;
	}

	public void setHolderCodeType(String holderCodeType) {
		this.holderCodeType = holderCodeType;
	}


	public String getVersion() {
		return version;
	}

	public void setVersion(String version) {
		this.version = version;
	}

	public Integer getDataSource() {
		return dataSource;
	}

	public void setDataSource(Integer dataSource) {
		this.dataSource = dataSource;
	}

	public Integer getState() {
		return state;
	}

	public void setState(Integer state) {
		this.state = state;
	}

	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}
	
	public Date getSubmittime() {
		return submittime;
	}

	public void setSubmittime(Date submittime) {
		this.submittime = submittime;
	}

	public Date getUpdatetime() {
		return updatetime;
	}

	public void setUpdatetime(Date updatetime) {
		this.updatetime = updatetime;
	}

	public String getOperUser() {
		return operUser;
	}

	public void setOperUser(String operUser) {
		this.operUser = operUser;
	}


	public LicenseMetadata getMetadata() {
		return metadata;
	}

	public void setMetadata(LicenseMetadata metadata) {
		this.metadata = metadata;
	}


	public List<Surface> getSurface() {
		return surface;
	}

	public void setSurface(List<Surface> surface) {
		this.surface = surface;
	}

	public List<Detail> getSurfaceDetail() {
		return surfaceDetail;
	}

	public void setSurfaceDetail(List<Detail> surfaceDetail) {
		this.surfaceDetail = surfaceDetail;
	}

	public String getOperUserId() {
		return operUserId;
	}

	public void setOperUserId(String operUserId) {
		this.operUserId = operUserId;
	}

	public String getCreateUserId() {
		return createUserId;
	}

	public void setCreateUserId(String createUserId) {
		this.createUserId = createUserId;
	}

	public String getCateCode() {
		return cateCode;
	}

	public void setCateCode(String cateCode) {
		this.cateCode = cateCode;
	}

	public String getTimeLimt() {
		return timeLimt;
	}

	public void setTimeLimt(String timeLimt) {
		this.timeLimt = timeLimt;
	}

	public String getFileId() {
		return fileId;
	}

	public void setFileId(String fileId) {
		this.fileId = fileId;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getMainSend() {
		return mainSend;
	}

	public void setMainSend(String mainSend) {
		this.mainSend = mainSend;
	}

	public String getSeSend() {
		return seSend;
	}

	public void setSeSend(String seSend) {
		this.seSend = seSend;
	}

	public String getMainTitle() {
		return mainTitle;
	}

	public void setMainTitle(String mainTitle) {
		this.mainTitle = mainTitle;
	}

	public List<NewAddCol> getNewAddCol() {
		return newAddCol;
	}

	public void setNewAddCol(List<NewAddCol> newAddCol) {
		this.newAddCol = newAddCol;
	}



	public String getOfdFileId() {
		return ofdFileId;
	}

	public void setOfdFileId(String ofdFileId) {
		this.ofdFileId = ofdFileId;
	}

	public List<ApprovalLog> getApprovalLog() {
		return approvalLog;
	}

	public void setApprovalLog(List<ApprovalLog> approvalLog) {
		this.approvalLog = approvalLog;
	}


	public String getLicenseoldId() {
		return licenseoldId;
	}

	public void setLicenseoldId(String licenseoldId) {
		this.licenseoldId = licenseoldId;
	}

	public Date getIssueDate() {
		return issueDate;
	}

	public void setIssueDate(Date issueDate) {
		this.issueDate = issueDate;
	}

	public Date getValidTimeBegin() {
		return validTimeBegin;
	}

	public void setValidTimeBegin(Date validTimeBegin) {
		this.validTimeBegin = validTimeBegin;
	}

	public Date getValidTimeEnd() {
		return validTimeEnd;
	}

	public void setValidTimeEnd(Date validTimeEnd) {
		this.validTimeEnd = validTimeEnd;
	}

	public String getfId() {
		return fId;
	}

	public void setfId(String fId) {
		this.fId = fId;
	}
	public String getIsExist() {
		return isExist;
	}

	public void setIsExist(String isExist) {
		this.isExist = isExist;
	}

	public String getOfdSignFileId() {
		return ofdSignFileId;
	}

	public void setOfdSignFileId(String ofdSignFileId) {
		this.ofdSignFileId = ofdSignFileId;
	}

	public String getFileNumber() {
		return fileNumber;
	}

	public void setFileNumber(String fileNumber) {
		this.fileNumber = fileNumber;
	}

	public String getExtractCode() {
		return extractCode;
	}

	public void setExtractCode(String extractCode) {
		this.extractCode = extractCode;
	}

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public Integer getIsPublic() {
		return isPublic;
	}

	public void setIsPublic(Integer isPublic) {
		this.isPublic = isPublic;
	}

	public List<String> getMakeData() {
		return makeData;
	}

	public void setMakeData(List<String> makeData) {
		this.makeData = makeData;
	}

	public WordInfo getWordInfo() {
		return wordInfo;
	}

	public void setWordInfo(WordInfo wordInfo) {
		this.wordInfo = wordInfo;
	}


	public String getLicenseoldSignId() {
		return licenseoldSignId;
	}

	public void setLicenseoldSignId(String licenseoldSignId) {
		this.licenseoldSignId = licenseoldSignId;
	}


	public String getWorkState() {
		return workState;
	}

	public void setWorkState(String workState) {
		this.workState = workState;
	}

	public Integer getNeedRedPoint(){
		Integer need = 0;
		Calendar calendar = new GregorianCalendar();
		Date date = new Date();
		calendar.setTime(date);
		calendar.add(calendar.MONTH, 3);
		date = calendar.getTime();

		try {
			if(this.validTimeEnd.before(date) && this.state == LicenseState.STATE_RELEASE){
				return 1;
			}
		} catch (Exception e) {
		}

		return need;
	}

	public String getPdfFileId() {
		return pdfFileId;
	}

	public void setPdfFileId(String pdfFileId) {
		this.pdfFileId = pdfFileId;
	}

	public String getEdcSignFileId() {
		return edcSignFileId;
	}

	public void setEdcSignFileId(String edcSignFileId) {
		this.edcSignFileId = edcSignFileId;
	}

	public String getFileType() {
		return fileType;
	}

	public void setFileType(String fileType) {
		this.fileType = fileType;
	}

	public Integer getJointSignStep() {
		return jointSignStep;
	}

	public void setJointSignStep(Integer jointSignStep) {
		this.jointSignStep = jointSignStep;
	}

	public String getSignUnitId() {
		return signUnitId;
	}

	public void setSignUnitId(String signUnitId) {
		this.signUnitId = signUnitId;
	}

	public Integer getMakeWay() {
		return makeWay;
	}

	public void setMakeWay(Integer makeWay) {
		this.makeWay = makeWay;
	}

	public Integer getMakeOfdWithAutoSign() {
		return makeOfdWithAutoSign;
	}

	public void setMakeOfdWithAutoSign(Integer makeOfdWithAutoSign) {
		this.makeOfdWithAutoSign = makeOfdWithAutoSign;
	}

	public String getLicenseReturn_id() {
		return licenseReturn_id;
	}

	public void setLicenseReturn_id(String licenseReturn_id) {
		this.licenseReturn_id = licenseReturn_id;
	}

	public String getPdfSignFileId() {
		return pdfSignFileId;
	}

	public void setPdfSignFileId(String pdfSignFileId) {
		this.pdfSignFileId = pdfSignFileId;
	}

	public String getQrImgFileId() {
		return qrImgFileId;
	}

	public void setQrImgFileId(String qrImgFileId) {
		this.qrImgFileId = qrImgFileId;
	}

	public String getQrCode() {
		return qrCode;
	}

	public void setQrCode(String qrCode) {
		this.qrCode = qrCode;
	}

	public String getQrCodeValue() {
		return qrCodeValue;
	}

	public void setQrCodeValue(String qrCodeValue) {
		this.qrCodeValue = qrCodeValue;
	}

	public String getExtend() {
		return extend;
	}

	public void setExtend(String extend) {
		this.extend = extend;
	}

	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public String getProjectCode() {
		return projectCode;
	}

	public void setProjectCode(String projectCode) {
		this.projectCode = projectCode;
	}

	public Date getReleaseTime() {
		return releaseTime;
	}

	public void setReleaseTime(Date releaseTime) {
		this.releaseTime = releaseTime;
	}

	public String getImgUnsignFileId() {
		return imgUnsignFileId;
	}

	public void setImgUnsignFileId(String imgUnsignFileId) {
		this.imgUnsignFileId = imgUnsignFileId;
	}

	public String getImgSignFileId() {
		return imgSignFileId;
	}

	public void setImgSignFileId(String imgSignFileId) {
		this.imgSignFileId = imgSignFileId;
	}

	public String getLicense_Name_Code() {
		return license_Name_Code;
	}

	public void setLicense_Name_Code(String license_Name_Code) {
		this.license_Name_Code = license_Name_Code;
	}

	public String getIssued_Department_Code() {
		return issued_Department_Code;
	}

	public void setIssued_Department_Code(String issued_Department_Code) {
		this.issued_Department_Code = issued_Department_Code;
	}

	public List<ChangeInfo> getChangeInfo() {
		return changeInfo;
	}

	public void setChangeInfo(List<ChangeInfo> changeInfo) {
		this.changeInfo = changeInfo;
	}

	public String getLicenseMissId() {
		return licenseMissId;
	}

	public void setLicenseMissId(String licenseMissId) {
		this.licenseMissId = licenseMissId;
	}

	public String getThirdBusiness_id() {
		return thirdBusiness_id;
	}

	public void setThirdBusiness_id(String thirdBusiness_id) {
		this.thirdBusiness_id = thirdBusiness_id;
	}

	public List<Attachment> getAttachment() {
		return attachment;
	}

	public void setAttachment(List<Attachment> attachment) {
		this.attachment = attachment;
	}

	public String getCertificate_Copy_Creation_Item() {
		return Certificate_Copy_Creation_Item;
	}

	public void setCertificate_Copy_Creation_Item(String certificate_Copy_Creation_Item) {
		Certificate_Copy_Creation_Item = certificate_Copy_Creation_Item;
	}

	public String getDrafter() {
		return drafter;
	}

	public void setDrafter(String drafter) {
		this.drafter = drafter;
	}

	public String getIssuer() {
		return issuer;
	}

	public void setIssuer(String issuer) {
		this.issuer = issuer;
	}

	public String getCopiesNumber() {
		return copiesNumber;
	}

	public void setCopiesNumber(String copiesNumber) {
		this.copiesNumber = copiesNumber;
	}

	public String getOtherSystem() {
		return otherSystem;
	}

	public void setOtherSystem(String otherSystem) {
		this.otherSystem = otherSystem;
	}

	public String getJgCode() {
		return jgCode;
	}

	public void setJgCode(String jgCode) {
		this.jgCode = jgCode;
	}

	public String getProveApplyId() {
		return proveApplyId;
	}

	public void setProveApplyId(String proveApplyId) {
		this.proveApplyId = proveApplyId;
	}

	public LicenseLevel getLicenseLevel() {
		return licenseLevel;
	}

	public void setLicenseLevel(LicenseLevel licenseLevel) {
		this.licenseLevel = licenseLevel;
	}

	public String getPushSystem() {
		return pushSystem;
	}

	public void setPushSystem(String pushSystem) {
		this.pushSystem = pushSystem;
	}

	public Integer getIsMoreHolder() {
		return isMoreHolder;
	}

	public void setIsMoreHolder(Integer isMoreHolder) {
		this.isMoreHolder = isMoreHolder;
	}

	public String getMoreHolderShow() {
		return moreHolderShow;
	}

	public void setMoreHolderShow(String moreHolderShow) {
		this.moreHolderShow = moreHolderShow;
	}

	public String getNewAddMetadata() {
		return newAddMetadata;
	}

	public void setNewAddMetadata(String newAddMetadata) {
		this.newAddMetadata = newAddMetadata;
	}

	public String getMakeDataId() {
		return makeDataId;
	}

	public void setMakeDataId(String makeDataId) {
		this.makeDataId = makeDataId;
	}

	public String getMakeErrorMsg() {
		return makeErrorMsg;
	}

	public void setMakeErrorMsg(String makeErrorMsg) {
		this.makeErrorMsg = makeErrorMsg;
	}

	public String getProveApplyNumber() {
		return proveApplyNumber;
	}

	public void setProveApplyNumber(String proveApplyNumber) {
		this.proveApplyNumber = proveApplyNumber;
	}

	public String getProjId() {
		return projId;
	}

	public void setProjId(String projId) {
		this.projId = projId;
	}


	public String getHolderCodeTypeName() {
		return holderCodeTypeName;
	}

	public void setHolderCodeTypeName(String holderCodeTypeName) {
		this.holderCodeTypeName = holderCodeTypeName;
	}
	
	public String getFileHashCode() {
		return fileHashCode;
	}

	public void setFileHashCode(String fileHashCode) {
		this.fileHashCode = fileHashCode;
	}

	public String getFieldHashCode() {
		return fieldHashCode;
	}

	public void setFieldHashCode(String fieldHashCode) {
		this.fieldHashCode = fieldHashCode;
	}
	

	/**
	 * @return the phone
	 */
	public String getPhone() {
		return phone;
	}

	/**
	 * @param phone the phone to set
	 */
	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	public String getSubmitUnit() {
		return submitUnit;
	}

	public void setSubmitUnit(String submitUnit) {
		this.submitUnit = submitUnit;
	}
	
	public String getIsRepeat() {
		return isRepeat;
	}

	public void setIsRepeat(String isRepeat) {
		this.isRepeat = isRepeat;
	}

	@Override
	public String toString() {
		return "License [id=" + id + ", catalogId=" + catalogId + ", licenseoldId=" + licenseoldId
				+ ", licenseReturn_id=" + licenseReturn_id + ", licenseoldSignId=" + licenseoldSignId + ", templateId="
				+ templateId + ", licenseName=" + licenseName + ", category=" + category + ", issueUnit=" + issueUnit
				+ ", issueUnitname=" + issueUnitname + ", areaCode=" + areaCode + ", whose=" + whose
				+ ", licenseNumber=" + licenseNumber + ", issueDate=" + issueDate + ", holder=" + holder
				+ ", holderCode=" + holderCode + ", holderCodeType=" + holderCodeType + ", validTimeBegin="
				+ validTimeBegin + ", validTimeEnd=" + validTimeEnd + ", timeLimt=" + timeLimt + ", submitUnit="
				+ submitUnit + ", version=" + version + ", dataSource=" + dataSource + ", state=" + state
				+ ", createtime=" + createtime + ", updatetime=" + updatetime + ", operUser=" + operUser
				+ ", operUserId=" + operUserId + ", createUserId=" + createUserId + ", cateCode=" + cateCode
				+ ", ofdFileId=" + ofdFileId + ", pdfFileId=" + pdfFileId + ", pdfSignFileId=" + pdfSignFileId
				+ ", edcSignFileId=" + edcSignFileId + ", ofdSignFileId=" + ofdSignFileId + ", metadata=" + metadata
				+ ", surface=" + surface + ", surfaceDetail=" + surfaceDetail + ", approvalLog=" + approvalLog
				+ ", newAddCol=" + newAddCol + ", fileId=" + fileId + ", fId=" + fId + ", title=" + title
				+ ", mainSend=" + mainSend + ", seSend=" + seSend + ", mainTitle=" + mainTitle + ", projectName="
				+ projectName + ", projectCode=" + projectCode + ", isExist=" + isExist + ", fileNumber=" + fileNumber
				+ ", extractCode=" + extractCode + ", token=" + token + ", isPublic=" + isPublic + ", addWork="
				+ workState + ", makeData=" + makeData + ", makeDataId=" + makeDataId + ", wordInfo=" + wordInfo
				+ ", fileType=" + fileType + ", signUnitId=" + signUnitId + ", jointSignStep=" + jointSignStep
				+ ", makeWay=" + makeWay + ", makeOfdWithAutoSign=" + makeOfdWithAutoSign + ", qrImgFileId="
				+ qrImgFileId + ", qrCode=" + qrCode + ", qrCodeValue=" + qrCodeValue + ", extend=" + extend
				+ ", releaseTime=" + releaseTime + ", imgUnsignFileId=" + imgUnsignFileId + ", imgSignFileId="
				+ imgSignFileId + ", licenseMissId=" + licenseMissId + ", license_Name_Code=" + license_Name_Code
				+ ", changeInfo=" + changeInfo + ", thirdBusiness_id=" + thirdBusiness_id + ", attachment=" + attachment
				+ ", Certificate_Copy_Creation_Item="+ ", licence_Type_Unid=" + licence_Type_Unid
				+ Certificate_Copy_Creation_Item + ", drafter=" + drafter + ", issuer=" + issuer + ", copiesNumber="
				+ copiesNumber + ", otherSystem=" + otherSystem 
				+ ", licence_Type_Code=" + licence_Type_Code + ", catalogType=" + catalogType + ", jgCode=" + jgCode
				+ ", printState=" + printState + ", printedPlateID=" + printedPlateID + ", licenseLevel=" + licenseLevel
				+ ", pushSystem=" + pushSystem + ", proveApplyId=" + proveApplyId + ", isMoreHolder=" + isMoreHolder
				+ ", moreHolderShow=" + moreHolderShow + ", originalIssueUnit=" + originalIssueUnit
				+ ", newAddMetadata=" + newAddMetadata + ", makeErrorMsg=" + makeErrorMsg + ", projId=" + projId
				+ ", proveApplyNumber=" + proveApplyNumber + ", fileHashCode=" + fileHashCode + ", fieldHashCode="
				+ fieldHashCode + ", phone=" + phone + "]";
	}

	public PhotoExtend getPhotoExtend() {
		return photoExtend;
	}

	public void setPhotoExtend(PhotoExtend photoExtend) {
		this.photoExtend = photoExtend;
	}

	public String getLicence_Type_Unid() {
		return licence_Type_Unid;
	}

	public void setLicence_Type_Unid(String licence_Type_Unid) {
		this.licence_Type_Unid = licence_Type_Unid;
	}

	public String getSignValue() {
		return signValue;
	}

	public void setSignValue(String signValue) {
		this.signValue = signValue;
	}

	public String getOfdWatermarkSignFileId() {
		return ofdWatermarkSignFileId;
	}

	public void setOfdWatermarkSignFileId(String ofdWatermarkSignFileId) {
		this.ofdWatermarkSignFileId = ofdWatermarkSignFileId;
	}
	
}
